/* 全局样式 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100%;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#app {
  height: 100%;
}

/* 布局相关样式 */
.layout-container {
  height: 100vh;
}

.el-main {
  background-color: #f0f2f5;
  padding: 20px;
}

/* 响应式布局样式 */
.sidebar-toggler {
  display: none; /* PC端默认隐藏 */
  padding: 0 15px;
  cursor: pointer;
}

.is-mobile .sidebar-toggler {
  display: block; /* 移动端显示 */
}

/* 移动端侧边栏样式 */
.is-mobile .sidebar {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1001;
  transition: transform 0.28s;
  width: 200px !important;
}

/* 移动端侧边栏收起时的状态 */
.is-mobile.sidebar-collapsed .sidebar {
  transform: translateX(-100%);
}

/* 移动端主内容区域，当侧边栏展开时，它不应该被挤压 */
.is-mobile .el-main {
   width: 100%;
}

/* 移动端遮罩层 */
.mobile-backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.3;
  z-index: 1000;
}

/* 当侧边栏收起时，让主容器占据全部宽度 */
.sidebar-collapsed .el-container.is-vertical {
    width: calc(100% - 64px); /* Element Plus 默认的折叠宽度，可以根据实际调整 */
}

/* 移动端不需要这个效果 */
.is-mobile.sidebar-collapsed .el-container.is-vertical {
    width: 100%;
} 

/* “题目管理”里分类两个下拉的基础布局 */
.category-select-group {
  display: flex;
  width: 100%;
  gap: 10px;
}

.category-select {
  flex: 1;
}

/* ================== 手机端适配：弹窗全宽 ================== */
@media (max-width: 600px) {
  /* 所有 Element Plus 弹窗在手机端宽度 100% */
  .el-dialog {
    --el-dialog-width: 100% !important;
    max-width: 100% !important;
    margin: 5vh auto 0 !important;
  }

  /* 弹窗内容稍微紧凑一点 */
  .el-dialog__body {
    padding: 12px;
  }

  /* 主内容两侧不要太挤，可以稍微减一点内边距 */
  .el-main {
    padding: 10px;
  }

  /* 手机端让分类选择垂直排列，并占满宽度 */
  .category-select-group {
    flex-direction: column;
  }

  .category-select {
    width: 100% !important;
  }
}